This section provides a quick overview of CCL. For more detailed information, consult the AppleTalk Remote Access Modem Developer’s Guide. This can be purchased from the Apple Programmers and Developers Association by calling 1.800.282.2732 or sending AppleLink email to APDA
CCL, or Connection Control Language, is the language used to write modem scripts. Each different type of modem requires a modem script to send commands from the Macintosh to the modem. The commands sent to the modem are used to configure and connect the modem to the remote network.
The CCL scripts used with InterPPP are simple text files designed to dial and answer particular modems. The documents can be copied from machine to machine and can be printed.
The CCL scripts execute in one of three possible modes: originate, answer, or hangup. Each mode has a separate entry point. When a call is initiated, the script is run in originate mode. When call answering is enabled, the script is run in answer mode. When terminating a connection, the script is run in hangup mode.
  Because InterPPP does not answer calls, the answer mode does not
apply to the InterPPP application. Information regarding the answer
mode, such as @ANSWER, is provided for technical accuracy and
compatibility with AppleTalk Remote Access CCL scripts.
B.1 Modifying CCL Scripts
InterPPP and your modem manufacturer provide default scripts for generic modems. Usually, there should be no need to edit these scripts. If it is necessary to edit a script, use the following procedures as well as the information in Section B.3, Writing CCL Scripts , and in the AppleTalk Remote Access Modem Developer’s Guide.
To edit an existing CCL script:
1. Select Open CCL Script… from the File menu.
√ Apple’s standard Open File dialog (Figure B.1) is displayed.
 
Figure B.1 Apple’s Standard Open File Dialog
2. Select a CCL script and click Open. (Or click Cancel to close the dialog
without opening a CCL script.)
‚àö The selected CCL script opens (Figure B.2).
 
Figure B.2 An Example of an Open CCL Script
3. Edit the text as necessary. Use the Cut, Copy, and Paste commands of
the Edit menu if needed.
B.2 Printing CCL Scripts
To print a CCL script:
1. Open the CCL script (see Section B.1, Modifying CCL Scripts , for
information).
2. Select Print… from the File menu.
√ Apple’s standard Print dialog is displayed.
3. Select your printing options and click Print. (Or click Cancel to close
the dialog without printing.)
‚àö The CCL script is printed.
B.3 Writing CCL Scripts
If InterPPP or your modem manufacturer does not provide a CCL script for the modem you are using, you can create a script using the information in the following sections, as well as the information in the AppleTalk Remote Access Modem Developer’s Guide .
To create a CCL script:
1. Select New CCL… from the File menu.
‚àö A standard text editing window labeled Untitled is displayed.
2. Use the information in Section B .4- B.12 to enter the text. Use the
Cut, Copy, and Paste commands of the Edit menu as necessary.
3. Select Save from the File menu to save the CCL script.
√ Apple’s standard Save dialog is displayed.
4. Name the CCL script, select the location where it is to be saved, and
click Save. (Or click Cancel to close the dialog without saving the
script.)
‚àö The name of the CCL script is displayed at the top of the window.
  To use the script you have created in a connection document, select it
from the pop-up menu in the Modem Configuration dialog. See
Section 5.1, Modem Configuration , for more information.
B.4 Using Strings
The strings used in CCL scripts are enclosed in quotes (" "). Defined varStrings are:
varString 1 the dial string (the phone number)
varString 2 the modem “speaker on” flag
 A varString is a string that contains parameters for modem setup,
such as the phone number the modem is calling and whether the
modem’s speaker is on or off during dialing.
The following special characters are allowed within strings:
\13 substitutes a carriage return (hex 0D) into the string.
\00 substitutes a null character (hex 00) into the string.
\\ substitutes the \ character (hex 53) into the string.
\^ substitutes the ^ character into the string.
\" substitutes the " character into the string.
^1 substitutes the varString into the string.
^* substitutes the ASK string into the string.
The ^ character is used to reference a varString to substitute into the string.
B.5 Using CCL Statements
Modem scripts are stored as text files, with one CCL statement per line, either a label, comment, or command.
Labels begin with an at sign (@) and continue until the end of the line.
They denote a point in the script that is the target of a jump
from another part of the script. There are two kinds of labels,
symbolic and numeric. Symbolic labels contain the at sign (@)
followed by a word. Numeric labels contain the at sign (@)
followed by a number.
Comments begin with an exclamation mark (!) and continue until the end
of the line.
Commands start with a word (the command name) and are followed by
arguments on the rest of the line. Blank lines are ignored.
B.6 Labels
@ANSWER
marks the point in the script where execution begins in answer mode.
Syntax
@ANSWER
@HANGUP
marks the point in the script where execution begins in hangup mode.
Syntax
@HANGUP
@LABEL
sets a numeric label in the script. You can then reference this label from
other script commands like JUMP, JSR, and IFTRIES. A script may have
up to 128 labels, numbered 1 through 128.
Syntax
@LABEL labelnum
Parameter
labelnum a value from 1-128 that specifies the label number
Example
@LABEL 30
@ORIGINATE
marks the point in the script where execution begins in originate mode.
Syntax
@ORIGINATE
B.7 Comments
!Comment
designates a comment line in the script. Comments can begin anywhere
in a command line and extend to the end of the line.
Syntax
! comment
Example
! This is a comment line.
B.8 Serial Port Control Commands
DTRCLEAR
clears the DTR (Data Terminal Ready) signal on the RS-232 interface.
Syntax
DTRCLEAR
DTRSET
sets the DTR signal on the RS-232 interface.
Syntax
DTRSET
FLUSH
empties all characters from the serial input buffer.
Syntax
FLUSH
HSRESET
sets the serial flow control options.
Syntax
HSRESET outputXON/XOFF outputCTS XON XOFF
inputXON/XOFF inputDTR
 The PPP protocol ignores XOn/XOff because it is unable to process
these characters. They are provided to ensure backward
compatibility with AppleTalk Remote Access CCL scripts.
Parameters
outputXON/XOFF XOn/XOff handshaking for output
outputCTS CTS hardware handshaking for output
XON specifies the XOn character
XOFF specifies the XOff character
inputXON/XOFF XOn/XOff handshaking for input
inputDTR DTR hardware handshaking for input
Example
HSRESET 0 1 0 0 0 0
LBREAK
generates a long break (3.5 seconds) on the serial output.
Syntax
LBREAK
SBREAK
generates a short break (233 milliseconds) on the serial output.
Syntax
SBREAK
SERRESET
configures the serial driver, providing values for baud rate, parity,
databits, and stop bits. Giving a zero value for any of the parameters